<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
  <meta charset="UTF-8">
  <title>JavaScript 数组迭代</title>
</head>
<body>
<h2>Array.reduce()</h2>
<p>此例确定数组中所有数字的总和：</p>

<p id="demo"></p>

<script>
  var numbers = [45, 4, 9, 16, 25];
  var sum = numbers.reduce(myFunction);  //或 var sum = numbers.reduce(myFunction, 100) 能够接受一个初始值

  document.getElementById("demo").innerHTML = "总和是：" + sum;

  function myFunction(total, value, index, array) {
    return total + value;
  }
</script>

</body>
</html>

<!--
运行结果：总和是：99
-->

<!--
请注意此函数接受 4 个参数：
总数（初始值/先前返回的值）
项目值
项目索引
数组本身
上例并未使用 index 和 array 参数。可以将它改写为：
function myFunction(total, value) {}
-->